The vast computer industry today produces constantly new and upgraded software aimed to make our computers to perform better, faster and more effectively. Release of new or upgraded software to an operation environment of an enterprise without testing the software prior to release or without knowing the consequences of running the software can pose risks to the operation environment. Thus, it has become an industry or enterprise standard to test regression and compatibility of new or upgraded software with other software and associated hardware before releasing it for use. Regression and compatibility testing on new or upgraded software typically entails installation of the software, manual validation of entries created or modified with the software being installed, uninstallation of the software, and manual validation again of the entries to confirm they are reset properly. Such testing is time-consuming and laborious, especially in the stage of manual validation and especially when the testing is to be done in multiple domains and on various computer platforms.